home *** CD-ROM | disk | FTP | other *** search
/ PC Electronics Plus 3 / PC Electronics Plus 3.iso / subdwg / lsp / linea.lsp < prev    next >
Lisp/Scheme  |  1994-11-14  |  951b  |  26 lines

  1. ;**************************************************************************
  2. ;* Comando : linea ()
  3. ;* Comentarios: se usa para calcular el largo de una linea. Solo puede
  4. ;* usarse con entidades de tipo linea.
  5. ;**************************************************************************
  6. (defun c:linea ()
  7.  (setq numeroDeConductores (getreal "\nIngrese numero de conductores :"))
  8.  (princ "\nSeleccione circuito: ")
  9.  (setq conjunto (ssget))
  10.  (setq n (sslength conjunto))
  11.  (setq i 0)
  12.  (setq largo 0)
  13.  (while (< i n)
  14.     (setq entidad (entget (ssname conjunto i)))
  15.     (if (equal (cdr (assoc 0 entidad)) "LINE" )
  16.     (progn
  17.         (setq p1 (cdr (assoc 10 entidad)))
  18.         (setq p2 (cdr (assoc 11 entidad)))
  19.         (setq largo (+ largo (distance p1 p2)))))
  20.     (setq i (+ i 1)))
  21.  
  22.  (princ "\nLargo : ") (princ largo)
  23.  (princ "\nLargo * ")(princ numeroDeConductores)(princ " conductores = ")
  24.  (princ (* largo numeroDeConductores))(princ " "))
  25.  
  26.